package com.woniuxy.service;

import com.woniuxy.dto.CustomerApprovalDto;
import com.woniuxy.dto.CustomerProcessDto;

import java.util.List;
import java.util.Map;

/**
 * 客户审批服务接口
 */
public interface CustomerApprovalService {

    /**
     * 启动客户审批流程
     */
    String startCustomerApprovalProcess(Long customerId, String currentUser);

    /**
     * 完成审批任务
     */
    void completeApprovalTask(CustomerApprovalDto approvalDto, String currentUser);

    /**
     * 查询用户的待办任务
     */
    List<Map<String, Object>> getUserTasks(String userName);

    /**
     * 查询流程步骤
     */
    List<CustomerProcessDto.ProcessStepDto> getProcessSteps(String processInstanceId);

    /**
     * 查询流程状态
     */
    Map<String, Object> getProcessStatus(String processInstanceId);

    /**
     * 处理流程回调
     */
    void handleProcessCallback(Map<String, Object> callbackData);
}
